package org.summer.lawyer.pay.client.impl.wechat;

import lombok.Data;

/**
 *
 */
@Data
public class WeChatPayClientConfig {

    /**
     * API 版本 - V2
     *
     * <a href="https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_1">V2 协议说明</a>
     */
    public static final String API_VERSION_V2 = "v2";
    /**
     * API 版本 - V3
     *
     * <a href="https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay-1.shtml">V3 协议说明</a>
     */
    public static final String API_VERSION_V3 = "v3";

    /**
     * 公众号或者小程序的 appid
     *
     * 只有公众号或小程序需要该字段
     */
    private String appId;

    /**
     * 商户号
     */
    private String mchId;

    /**
     * API版本
     */
    private String apiVersion;

    /**
     * 商户密钥（v2）
     */
    private String mchKey;

    /**
     * v2
     * apiclient_cert.p12 证书文件的对应字符串【base64 格式】
     * 为什么采用 base64 格式？因为 p12 读取后是二进制，需要转换成 base64 格式才好传输和存储
     */
    private String keyContent;

    // ========== V3 版本的参数 ==========
    /**
     * apiclient_key.pem 证书文件的对应字符串
     */
    private String privateKeyContent;

    // ========== V3 版本的参数 ==========
    /**
     * apiclient_cert.pem 证书文件的对应字符串
     */
    private String privateCertContent;

    /**
     *  api v3密钥
     */
    private String apiV3Key;

}
